Disc storage system with adaptive PID control

ABSTRACT

A disc drive controller circuit for an actuator receives reference data indicating a desired actuator position “θ d ”, error data indicating a difference “e” between the desired actuator position and a sensed actuator position “θ”, and adaptive parameter data “Â”. The controller circuit calculates a circuit output “u” that drives the actuator. The controller circuit derives the circuit output “u” according to a formula: 
                 A   ^     ⁡     (         θ   ¨     d     +     2   ⁢           ⁢   λ   ⁢           ⁢     e   .       +       λ   2     ⁢   e       )       +     k   ⁡     (       e   .     +     2   ⁢           ⁢   λ   ⁢           ⁢   e     +       λ   2     ⁢       ∫   0   t     ⁢     e   ⁢           ⁢     ⅆ   τ             )             
in which “λ” is a controller zero value and “k” is a controller gain value and “t” is time. The adaptive parameter Â is updated in general accordance with the formula:
   Â ( k )= e   1   e   2   Δt+Â ( k −1).

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority benefits from U.S. ProvisionApplication 60/180,752 titled ADAPTIVE PROPORTIONAL-INTEGRAL-DERIVATIVE(PID) CONTROL, filed Feb. 7, 2000.

FIELD OF THE INVENTION

The invention relates to disc storage systems. In particular, theinvention relates to use of adaptive control systems and methods ofcontrolling actuators that position heads in disc drives.

BACKGROUND OF THE INVENTION

Control systems are used in controlling actuators that positionread/write heads over selected tracks of a disc drive, as well as inother applications. When the actuator's gain or other characteristicsare non-linear due to end effects or leakage flux, or vary undesirablywith temperature or some other environmental condition, then acontroller will often be used that adapts its controller parameters inreal time to compensate for the uncertain variations. Such “adaptivecontrollers” are typically realized as discrete (digital) controllers.The controllers are often complex and require that complex and lengthycalculations be completed in a very short time in order to achieve rapidactuator movements with short settling times and stability over theentire operating range. In particular, with the use of newer highdensity recording media in disc drives, improved controller performanceis needed to meet more stringent positioning and speed requirements.Completing the lengthy and complex calculations in a short time requireshigh memory use and high clock speeds leading to undesirable high powerconsumption and heating in the controller. An adaptive controller for anactuator is desired that has reduced computational overhead and reducedpower consumption, while achieving rapid, precise and stable control ofthe actuator.

SUMMARY OF THE INVENTION

Disclosed is a disc drive and method for a disc drive controller. Thedisc drive comprises a disc pack, an actuator with an actuator positioncontrollable by a control signal u, and a read/write head coupled to thedisc pack and the actuator. The read/write head provides a signalrepresenting a sensed actuator position “θ”. The disc drive alsocomprises a controller circuit. The controller circuit receives thesignal representing the sensed actuator position “θ”. The controllercircuit also receives reference data indicating a desired actuatorposition “θ_(d)”. and includes stored adaptive parameter data “Â”. Thecontroller circuit generates the output u derived from the formula:

${\hat{A}\left( {{\overset{¨}{\theta}}_{d} + {2\;\lambda\;\overset{.}{e}} + {\lambda^{2}e}} \right)} + {k\left( {\overset{.}{e} + {2\;\lambda\; e} + {\lambda^{2}{\int_{0}^{t}{e\ {\mathbb{d}\tau}}}}} \right)}$in which “λ” is a controller zero value, “k” is a controller gain value,“t” is time, and “e” is a difference between the desired actuatorposition θ_(d) and the sensed actuator position “θ”. The method providesrapid, precise and stable control of the actuator in the disc drive.

In one embodiment, the controller circuit is a discrete controller withreduced computational overhead and reduced power consumption.

In another embodiment, instructions are stored in a computer readableprogram storage device which tangibly embodies a program of instructionsexecutable by a processor to perform the controller process.

These and various other features as well as advantages whichcharacterize the present invention will be apparent upon reading of thefollowing detailed description and review of the associated drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a first embodiment of a disc drive including anadaptive controller;

FIG. 2 illustrates a second embodiment of a disc drive including anadaptive controller;

FIG. 3 illustrates an embodiment of an adaptive controller

FIG. 4 illustrates a root locus analysis for the nominal PID controller;

FIG. 5 illustrates a loop shape or Bode plot for the nominal controller;

FIG. 6 illustrates a flow chart of an embodiment of a digital ordiscrete method of adaptive control; and

FIG. 7 illustrates computer simulated performance of the adaptivecontrol system.

DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS

In FIG. 1, an embodiment of a disc drive 100 is illustrated. Disc drive100 includes a disc pack 126 having storage surfaces 106 which aretypically layers of magnetic material. The disc pack 126 includes astack of multiple discs and the read/write head assembly includes aread/write transducer 110 for each stacked disc. Disc pack 126 is spunor rotated as shown by arrow 107 to allow read/write head assembly 112to access different rotational locations for data on the storagesurfaces 106 on the disc pack 126.

Read/write head assembly 112 is actuated to move radially, relative tothe disc pack 126, as shown by arrow 122 to access different radiallocations for data on the storage surfaces 106 of disc pack 126.

Typically, the actuation of read/write head assembly 112 is provided bya voice coil motor 118. Voice coil motor 118 includes a rotor 116 thatpivots on axle 120 and an arm 114 that actuates the read/write headassembly 112.

Disc drive 100 includes a disc driver controller at location 130. Aportion 132 of the disc driver controller that controls the actuation ofthe read/write head assembly 112 is broken out and illustratedschematically on the right side of FIG. 1. One or more of the read/writetransducers 110 provide data indicating a sensed actuator position θ online 134 to a demodulator 136. Demodulator 136 demodulates the sensedactuator position θ, putting the data in a digital form that is coupledalong line 138 to processor 140. Processor 140 includes RAM 142 and ROM144 and generates a signal u on line 146 for controlling the voice coilmotor 118. The signal u on line 146 is amplified by power amplifier 148.Power amplifier 148 provides an output current “I” that couples alongline 150 to the voice coil motor 118 and controls the angular ormechanical position θ_(M) of read/write head assembly 112 of the voicecoil motor 118. Digital processor 140 includes a setpoint input 152 thatreceives reference data, typically from a CPU of a personal computer,indicating a desired actuator position θ_(d). ROM 144 stores an adaptivecontroller process or algorithm that controls the read/write headposition θ_(M) so that data can be read or written on the desired trackon the storage surfaces 106 of disc pack 126. The RAM 142 storesadaptive parameter data Â used by the adaptive controller process. Theadaptive controller process stored in ROM 144 provides improved controlof voice coil motor 118 and is described in more detail below inconnection with FIGS. 2-12. It will be understood by those skilled inthe art that the processor 140 can execute other support functions forthe disc drive 100 as well.

In FIG. 2, a block diagram of an embodiment of a disc drive 200including an adaptive controller 202 is illustrated. An actuator orvoice coil motor 204 controls the angular or mechanical position θ_(M)of a read/write head 206. The read/write head 206 and its associatedread/write circuit sense positional data stored on disc pack 126 andgenerate data indicating a sensed head or actuator position θ on line208. The voice coil motor 204 and the read/write head and associatedread/write circuit 206 are described herein as a controlled system or“plant” 205 with a transfer function P(s), expressed in terms of theLaplace transform variable “s” and explained in more detail below inconnection with Equations 1 and 2. The voice coil motor 204 iscontrolled by a motor current “I” (an amplified form of the controlsignal “u”) received from the adaptive controller 202 on line 203. Theadaptive controller 202 has an adaptive control transfer function G(s)that is explained in more detail below in connection with FIG. 3. Anadaptive system 210 provides the adaptive controller 202 with adaptiveparameter data Â along line 212. Adaptive system 210 calculates andstores the adaptive parameter data Â in real time as a function ofinputs on input lines 211, 213. Typically, input line 211 is coupled toposition error signal e on line 218, and the input line 213 is coupledto the setpoint θ_(d) on line 216. The adaptive parameter data Â iscalculated as a function of θ_(d) and e that requires littlecomputational overhead and draws low power while providing real timeupdates. A summing point 214 receives reference data indicating asetpoint or desired actuation position θ_(d) on line 216 and the sensedactuator position θ on line 208 and generates a position error signale=(θ_(d)−θ) on line 218 that couples to the adaptive controller 202. Thesetpoint θ_(d) on line 216 also couples to the adaptive controller 202to provide feedforward compensation for changes in the setpoint. Theadaptive controller 202 functions approximately according to Equation 22below. Equation 22 is expressed in time domain terms (rather than theLaplace variable “s”) and one dot over a variable indicates a firstderivative with respect to time “t”, and two dots over a variableindicates a second derivative with respect to time “t” according to theusual mathematical conventions. The variable time is labeled tau (τ)within the integral expression. In Equation 22, the constant λ is acontroller zero (i.e., where s=−λ) and the constant “k” is a controllergain. It is understood that while Equation 22 is expressed in continuousterms, that Equation 22 can also be implemented using known digital ordiscrete controller functions selected to replicate the continuousterms. Such a discrete embodiment is explained in more detail below inconnection with FIG. 6.

In FIG. 3, an embodiment of an adaptive controller 201 is illustrated,and controller 201 can be used in place of adaptive controller 202 inFIG. 2. In FIG. 3, the same reference numerals used in FIG. 2 are usedto identify similar or identical features. The adaptive controller 201includes a nominal controller 222 with a transfer function G1 and acontroller output U1 at 228, an “algebraic part” controller 224 with atransfer function G2 and a controller output U2 at 230, and afeedforward controller 226 with a transfer function G3 and a controlleroutput U3 at 232. The controller outputs U1, U2, U3 are summed atsumming point 234 which provides the control signal u (or amplified, themotor current I) on line 203. The transfer functions G1, G2, G3 areexplained in more detail below in connection with Equations 3-21.

Equations 1 and 2 illustrate the characteristics of the plant 205illustrated in FIG. 2.

$\begin{matrix}{{P(s)} = {\frac{\theta(s)}{i(s)} = {\frac{K_{t}}{{Js}^{2}} = \frac{1}{{As}^{2}}}}} & {{Eq}.\mspace{14mu} 1}\end{matrix}$

$\begin{matrix}{\overset{¨}{\theta} = \frac{u}{A}} & {{Eq}.\mspace{14mu} 2}\end{matrix}$As shown in Equation 1, the plant has a transfer function P(s) that isthe ratio of the sensed position θ(s) of the read/write head assembly tothe actuator current i(s). In Equation 1, the ratio is shown to be afunction of the torque “constant” K_(t) of the voice coil motor and thepolar moment of inertia J of the voice coil motor. The torque “constant”K_(t) is found to not be constant, but to vary undesirably over thestroke of the voice coil motor due to end effects and leakage flux inthe magnetic circuit of the voice coil motor. The ratio J/K_(t) isrepresented by “A” in Equations 1 and 2. The nominal controller 222 isarranged using a nominal value of A, but use of only this nominal valuecould lead to an unstable system due to changes in A. To avoid thisunstable system condition, the controller is reparameterized to bedependent on the value of A. This reparameterization is done in thealgebraic part controller 224. The value of A is unknown in practice,and an adaptive parameter Â, which is an estimate of A, is used instead.The resulting arrangement forms a stable system. The adaptive portioncorrects for the varying torque constant K_(t) of the voice coil motor.In Equation 1, the voice coil motor characteristics are shown in termsof the Laplace operator s, and in Equation 2, the voice coil motorcharacteristics are shown in terms of time, with the motor current orcontrol signal represented by u, and the sensed position of theread/write head assembly represented by θ. The two dots over θ indicatea second derivative (acceleration) in accordance with mathematicalconvention.

Equations 3-11 show the operating characteristics of the nominalcontroller 222 in FIG. 3.

$\begin{matrix}{{F_{T}(t)} = {{k_{p}e} + {k_{d}\overset{.}{e}} + {k_{i}{\int_{0}^{t}{e\ {\mathbb{d}\tau}}}}}} & {{Eq}.\mspace{14mu} 3}\end{matrix}$Equation 3 is in the time domain and shows the calculation of atorsional force component, or torque, T_(F) produced by voice coil motor204 due to the output U1 on line 228 from the nominal controller G1.Equation 3 includes a proportional constant k_(p), a derivative constantk_(d), and an integral constant k_(i). As can be seen from Equation 3,nominal controller 222 is a proportional-integral-derivative(PID) typeof controller.

$\begin{matrix}{{G(s)} = {\frac{F_{T}(s)}{e(s)} = \left( {k_{p} + {k_{d}s} + \frac{k_{i}}{s}} \right)}} & {{Eq}.\mspace{14mu} 4}\end{matrix}$Equation 4 expresses the same PID controller characteristics as thoseexpressed in Equation 3, however, in the Laplace transform domain.k_(p)=2λk  Eq. 5k_(d)=k  Eq. 6k_(i)=λ²k  Eq. 7It is found that the nominal controller is easier to implement when theconstants k_(p), k_(d) and k_(i) are interrelated as shown in Equations5, 6, 7, where k is the gain of the nominal controller 222 and λ is acontroller zero as illustrated in Equation 8.

$\begin{matrix}{{G(s)} = \frac{{k\left( {s + \lambda} \right)}^{2}}{s}} & {{Eq}.\mspace{14mu} 8}\end{matrix}$

Equation 9 is the characteristic polynomial of the closed loop systemwhich is used in evaluating closed loop stability using the Routhstability criteria.As ³ +ks ²+2λks+kλ ²=0  Eq. 9Application of the Routh stability criteria leads to the requirement forstability shown in Equation 10 which is an inequality.(k)(2λk)>(A)(λ² k)  Eq. 10Equation 10 illustrates that there is a range of values of k (fromEquation 8) that will ensure stability in closed loop control by thenominal controller 222. However, calculation of k requires knowledge ofthe value of A, which at any given instant of time is not preciselyknown because the torque constant of the voice coil motor varies withposition. To overcome this problem, a nominal, fixed value A is chosenfor calculating k. The selection of k as a function of A is illustratedin Equation 11.

$\begin{matrix}{k > \frac{\lambda\; A}{2}} & {{Eq}.\mspace{14mu} 11}\end{matrix}$

The tracking performance of the closed loop system is illustrated by thecomplementary sensitivity function T(s) shown in Equation 12.

$\begin{matrix}{{T(s)} = {\frac{{G_{1}(s)}{P(s)}}{1 + {{G_{1}(s)}{P(s)}}} = \frac{{k\left( {s + \lambda} \right)}^{2}}{{As}^{3} + {k\left( {s + \lambda} \right)}^{2}}}} & {{Eq}.\mspace{14mu} 12}\end{matrix}$To ensure that the plant output θ(t) tracks the reference signalθ_(d)(t), the reference input r(s) to the closed loop system is set asshown in Equations 13, 14, 15 and 16, where T⁻¹(s) is the inverse of thecomplementary system function T(s).

$\begin{matrix}{{\tau(s)} = {{T^{- 1}(s)}{\theta_{d}(s)}}} & {{Eq}.\mspace{14mu} 13} \\{\mspace{40mu}{= {\frac{1 + {{G_{1}(s)}{P(s)}}}{{G_{1}(s)}{P(s)}}{\theta_{d}(s)}}}} & {{Eq}.\mspace{14mu} 14} \\{\mspace{40mu}{= {{\theta_{d}(s)} + {{As}^{2}{G_{1}^{- 1}(s)}{\theta_{d}(s)}}}}} & {{Eq}.\mspace{14mu} 15}\end{matrix}$Equation 16 illustrates that improved tracking can be obtained byproviding feedforward compensation of the desired rotationalacceleration as indicated by the second derivative of the referencesignal θ_(d).r(s)=θ_(d)(s)+G ₁ ⁻¹(s)A{umlaut over (θ)}_(d)(s)  Eq. 16This feedforward compensation is provided by the feedforward controller226 of FIG. 3.

An example of a root locus of the closed loop system in Equation 12 isillustrated in FIG. 4. In FIG. 4, the horizontal axis 250 representsreal components. The vertical axis 252 represents imaginary components,in other words components that are orthogonal to the real components.The right half plane 254 is the portion of the plot to the right of thevertical axis 252. The root locus plot is the continuous curved line256. A straight line 258 is constructed passing through the origin. Inthis example, the slope of the straight line 258 is set to be unity toprovide a damping ratio of 0.707. The intersection 260 of the straightline 258 and the curved line 256 in the left half plane 262 determinesthe closed loop poles. From the root locus plot it can be seen that theclosed loop system is conditionally stable with the root locus migratingto the right half plane for some values of the controller gain K. Thereare, however, values of K that can be selected in this example for whichthe root locus is in the left half plane, or stable. These values of Kare indicated by Equation 11.

In FIG. 7, the resulting loop shape or Bode plot for the nominalcontroller 222 is illustrated. In FIG. 7, the horizontal axes 270represent frequency in radians per second. The vertical axis 272represents amplitude in decibels. The vertical axis 274 represents phaseangle in degrees. It can be seen in FIG. 7 that the phase angle crossesover −180 degrees (polarity reversal) at 276, giving a gain margin ofabout 18.4 dB. The gain crosses over zero decibels at 278, leading to aphase margin of about 65 degrees. However, these stability marginsdepend on the nominal value of A. As a first step to controlling with Asomewhat unknown, the controller is parameterized explicitly in terms ofA. This is done in the so-called “algebraic part” controller 224.

Equations 17, 18, 19, 20 and 21 illustrate the operation of the“algebraic part” controller 224 in more detail. The algebraic partcontroller 224 has a transfer function G2(s)=A(2λs+λ²). When thealgebraic part controller 224 is combined with the nominal controller222 as shown in FIG. 3, the combined transfer function G1(s)+G2(s) isshown in Equation 17.

$\begin{matrix}{{{G_{1}(s)} + {G_{2}(s)}} = \frac{{\left( {k + {2\;\lambda\; A}} \right)s^{2}} + {\left( {{2\lambda\; k} + {\lambda^{2}A}} \right)s} + {k\;\lambda^{2}}}{s}} & {{Eq}.\mspace{14mu} 17}\end{matrix}$The characteristic equation of the combined controller (nominalcontroller 222 and algebraic part controller 224) is shown in Equation18.As ³+(k+2λA)s ²+(2λk+λ ² A)s+kλ ²=0  Eq. 18The stability conditions for the combined controller are illustrated inEquations 19, 20 and 21.(k+2λA)(2λk+λ ² A)>(A)(kλ ²)  Eq. 192λk ²+λ² Ak+4λ² Ak+2λ³ A ² >Akλ ²  Eq. 202λk ²+4λ² Ak+2λ³ A ²>0  Eq. 21Equation 21 is true for all values of λ, A, and K, since λ, A, and K areall positive in a physically realizable system.

The actual plant parameter A is replaced in the algebraic partcontroller by its estimate A and the resulting system remains stable. InEquation 22 is a complete equation in the time domain for the completeadaptive controller 201, including the nominal controller 222, thealgebraic part controller 224 and the feedforward controller 226. As canbe seen from Equation 22, the complete adaptive controller 201 makescalculations based on the position error signal e and the setpointθ_(d). In Equation 23, the Equation 22 is expressed in a simplified forminvolving only two error terms e₁ and e₂.

$\begin{matrix}{u = {\overset{\overset{e2}{⎴}}{\hat{A}\left( {{\overset{¨}{\theta}}_{d} + {2\;\lambda\;\overset{.}{e}} + {\lambda^{2}e}} \right)} + \overset{\overset{e1}{⎴}}{k\left( {\overset{.}{e} + {2\;\lambda\; e} + {\lambda^{2}{\int_{0}^{t}{e\ {\mathbb{d}\tau}}}}} \right)}}} & {{Eq}.\mspace{14mu} 22} \\{\mspace{14mu}{= {{\hat{A}e_{2}} + {ke}_{1}}}} & {{Eq}.\mspace{14mu} 23}\end{matrix}$Equation 24 repeats the plant relationship set forth above in Equation2.

$\begin{matrix}{\overset{¨}{\theta} = \frac{u}{A}} & {{Eq}.\mspace{14mu} 24}\end{matrix}$Equations 23 and 24 are combined with one another to form Equation 25which expresses the acceleration of the head position in terms of thetwo error terms e₁ and e₂, k and Â.

$\begin{matrix}{\overset{¨}{\theta} = {\frac{1}{A}\left\lbrack {{\hat{A}e_{2}} + {ke}_{1}} \right\rbrack}} & {{Eq}.\mspace{14mu} 25}\end{matrix}$Adding the quantity −e₂ to both sides of Equation 25 and collectingterms results in Equation 26.

$\begin{matrix}{{\overset{¨}{\theta} - e_{2}} = {\frac{1}{A}\left\lbrack {{\hat{A}e_{2}} - {Ae}_{2} + {ke}_{1}} \right\rbrack}} & {{Eq}.\mspace{14mu} 26}\end{matrix}$Substituting the definition of e₂ (taken from Equations 22, 23) into theleft side of Equation 26 results in Equation 27.

$\begin{matrix}{{\overset{¨}{\theta} - {\overset{¨}{\theta}}_{d} - {2\;\lambda\;\overset{.}{e}} - {\lambda^{2}e}} = {\frac{1}{A}\left\lbrack {{\hat{A}e_{2}} - {Ae}_{2} + {ke}_{1}} \right\rbrack}} & {{Eq}.\mspace{14mu} 27}\end{matrix}$Next, an error estimate Ã is defined as Ã (Â−A) and the error estimateis substituted into the right half of Equation 27, and the summing pointequation e=(θ−θ_(d)) from summing point 214 is substituted into the lefthalf of Equation 27 resulting in Equation 28.

$\begin{matrix}{{{{- \overset{¨}{e}} - {2\;\lambda\;\overset{.}{e}} - {\lambda^{2}e}} = {\frac{1}{A}\left\lbrack {{\overset{\sim}{A}e_{2}} + {ke}_{1}} \right\rbrack}}\;} & {{Eq}.\mspace{14mu} 28}\end{matrix}$The left side of Equation 28 is −{dot over (θ)}₁ from differentiation ofthe definition of e₁ in Equations 22, 23. Substituting −{dot over (θ)}₁for the left hand side of Equation 28 and rearranging terms on the righthand side of Equation 28 results in Equation 29.

$\begin{matrix}{\left. \Rightarrow{- \overset{.}{e\; 1}} \right. = {{\frac{k}{A}e_{1}} + {\frac{\overset{\sim}{A}}{A}e_{2}}}} & {{Eq}.\mspace{14mu} 29}\end{matrix}$Equation 29 is in the form of an “error model 3” as described in “StableAdaptive Systems” by K. S. Narendra and A. M. Annanswamy, Prentice Hall,Englewood Cliffs, N.J., 1993. In this error model format, an updatealgorithm for A is Ã=sgn(1/A) e₁e₂ as shown in Equation 30.

$\begin{matrix}{\overset{\sim}{A} = {{{sgn}\left( \frac{1}{A} \right)}e_{1}e_{2}}} & {{Eq}.\mspace{14mu} 30}\end{matrix}$Since the plant parameter A is always positive definite, the updatealgorithm becomes simply Ã=e₁e₂ as shown in Equation 31.Ã=e₁e₂  Eq. 31The operation of the adaptive system 210 of FIG. 2 can thus use thismathematically simple update Equation 31 to generate real time values ofÂ on line 212. The simplicity of Equation 31 leads to reduced powerconsumption to perform the calculation. Equation 32 illustrates adiscrete form of the update equation with an update time Δ_(t) betweenupdates.Â _(N) =e ₁ e ₂ ΔT+Â _(N−1)  Eq. 32

With the adaptive system 210 updated in this manner, the tracking errorfor the adaptive controller 201 tends to approach zero by choosing aproper Lyapunov function of the error e₁ and the parameter error Ã andsubsequent application of Barbalatt's lemma as explained in the abovecited “Stable Adaptive Systems.”

In FIG. 6, a flow chart schematically illustrates how the continuousadaptive control equations are implemented in a discrete process ordigital circuitry. The process starts at 300. At 302, a current (Nth)update of the position error signal e_(N) and the setpoint 2_(dN) areacquired and stored in memory. Next, current and past values areretrieved from memory at 304 so they are available for real timecalculations. At 306, digital calculations are executed to calculatefirst derivative of e, an integral of e, and a second derivative of2_(d) using the values retrieved at 304. At 308, an updated controlleroutput UN is calculated using the values obtained at 306. At 310,process flow returns to 300 to execute the calculations again for theN+1 update. The process flow is iterative or repetitive. The values of Âare updated in a discrete calculations as illustrated at 307 in FIG. 6.The formula in 307 is as follows:

$\begin{matrix}{{\hat{A}}_{N} = {{\left( {{\overset{.}{e}}_{N} + {2\;\lambda\; e_{N}} + {\lambda^{2}{\sum\limits_{0}^{n = N}\;{e_{n}\Delta\; t}}}} \right)\left( {{\overset{¨}{\theta}}_{N} + {2\;\lambda\;{\overset{.}{e}}_{N}} + {\lambda^{2}e_{N}}} \right)\Delta\; t} + {\hat{A}}_{N - 1}}} & {{Eq}.\mspace{14mu} 33}\end{matrix}$

Adaptive parameter data Â is updated digitally in real time usinginstructions stored in a computer readable program storage device.

In FIG. 7, the example adaptive controller 201 of FIG. 3 is simulatedafter startup with an initial error of 5% in the parameter Â. Thehorizontal axes 312 are time and the vertical axis 314 is error e andthe vertical axis 316 is the parameter Â. A 250 Hz sinusoidal signal isused as the reference signal. The tracking error converges almostexponentially to zero at 316 and the parameter estimate reaches its truevalue in the presence of the persistent 250 Hz sinusoidal excitation.The plant parameter also converges to its actual value in about 5milliseconds as shown at 318. The adaptive controller uses full statefeedback. In the simulation, angular velocity is computed using backwarddifferences. The adaptive controller is simple and computationallyeconomical. The control algorithm is implemented using Equation 22 andthe adaptation is implemented using Equation 32, both of which aremathematically simple to compute. This technique can be used on discdrives as the servo algorithm itself or as an automated tuning algorithmused in the manufacturing process to calculate gain scheduling tableswhen it is desirable to have a constant gain controller in a region ofoperation.

In summary, a disc drive (200) includes a controller circuit 132 thatcontrols an actuator position (θ_(m)) and includes a first circuit input(216) adapted to receive reference data indicating a desired actuatorposition “θ_(d)”. The disc drive (200) also includes a second circuitinput (218) adapted to receive error data indicating a difference “e”between a desired actuator position and a sensed actuator position “θ”.The disc drive (200) also includes a third circuit input (212) adaptedto receive adaptive parameter data “Â”. The circuit generates a circuitoutput “u” (203) that couple to the actuator (204). The disc drive (200)includes a controller (132) that calculates the circuit output “u”according to the equation 22 in which “λ” is a controller zero value and“k” is a controller gain value and “t” is time.

It is to be understood that even though numerous characteristics andadvantages of various embodiments of the present invention have been setforth in the foregoing description, together with details of thestructure and function of various embodiments of the invention, thisdisclosure is illustrative only, and changes may be made in detail,especially in matters of structure and arrangement of parts within theprinciples of the present invention to the full extent of the broadgeneral meaning of the terms in which the appended claims are expressed.For example, the controller may perform other functions in addition tothe functions described herein, and the controller may be embodied in acombination of hardware, firmware and software to adapt it to aparticular application, and different types of actuators and datastorage media can be used, without departing from the scope and spiritof the present invention.

1. An apparatus for adaptively generating an output responsive to asensed position signal, a desired position signal and at least one of atorque and an inertia wherein the apparatus further comprises a discretecontroller circuit that has a controller gain that is adapted in a fixedrange as a function of adaptive parameter data and further comprises anactuator, and wherein the output comprises a controlled electric currentcoupled to the actuator.
 2. The apparatus of claim 1 further comprising:an adaptive system generating the adaptive parameter data according toan update equation.
 3. The apparatus of claim 2 wherein the adaptivesystem generates the adaptive parameter data based on both the torqueand the inertia.
 4. The apparatus of claim 1 wherein the controlledelectric current is controlled by pulse width modulation.
 5. Theapparatus of claim 1 wherein the discrete controller circuit furthercomprises a digital-to-analog converter providing the controlledelectric current.
 6. The apparatus of claim 1 wherein the sensedposition signal is derived from a read/write head.
 7. An apparatuscomprising: adaptive parameter data based on at least one of a torqueand an inertia; and a controller circuit for receiving a sensed positionsignal sensed by a read/write head and adapted to receive reference dataindicating a desired position, for adaptively generating an output whichis based on the adaptive parameter data, the controller circuitproviding a controller gain that is adapted in a fixed range as afunction of adaptive parameter data.
 8. The apparatus of claim 7 whereinthe controller circuit comprises first and second controllers that arestable.
 9. The apparatus of claim 8 wherein the first and secondcontrollers use an error model.
 10. A method comprising the steps ofadaptively generating a controlled electric current output responsive toa sensed position signal, a desired position signal and at least one ofa torque and an inertia and providing a controller gain that is adaptedin a fixed range as a function of adaptive parameter data, and couplingthe controlled electric current output to an actuator.
 11. The method ofclaim 10 wherein the output is controlled based on adaptive parameterdata.
 12. The method of claim 11 wherein the adaptive parameter data isupdated based on at least one of a torque and an inertia.
 13. A methodcomprising the step of adaptively generating an output responsive to asensed position signal, a desired position signal and at least one of atorque and an inertia, wherein the output is controlled based onadaptive parameter data that is updated based on at least one of atorque and an inertia, and wherein adaptive parameter data is updateddigitally in real time using instructions stored in a computer readableprogram storage device.
 14. The method of claim 13 wherein the output iscoupled to a voice coil motor in a disc drive.